as const 활용 해야함keyof는 intersection처럼 작동한다.interface AMap {
'AAA': never;
}
interface BMap {
'B': never;
'BB': never;
'BBB': string;
}
interface CMap {
'C': number;
'CC': string;
'CCC': Function;
'CCCC': Map<any, any>;
}
export type ABCEventMap = AMap & BMap & CMap;
export type ABCType = keyof ABCMap; // keyof AMap | keyof BMap | keyof CMap
keyof https://stackoverflow.com/questions/51808160/keyof-inferring-string-number-when-key-is-only-a-stringinterface XMap {
[key: string]: any;
}
type X = keyof XMap; // number | string
Key array
https://stackoverflow.com/questions/43909566/get-keys-of-a-typescript-interface-as-array-of-strings